PAGE 1.0 Microbox ][ User Notes Section 1 Introduction CONTENTS -------- Introduction......................Section 1 Construction guide................Section 2 Setting up........................Section 3 Monitor commands..................Section 4 Flex commands.....................Section 5 Programming guide.................Section 6 Parts list..........................Appendix 1 Layout sheets A & B.................Appendix 2 Circuit diagrams....................Appendix 3 Connection diagrams.................Appendix 4 Memory maps.........................Appendix 5 Terminal emulator control codes.....Appendix 6 Flexlink & Monlink source...........Appendix 7 Graphics display code...............Appendix 8 Default character set...............Appendix 9 Supplied disc directory.............Appendix 10 Section 1 Introduction. --------- ------------ This documentation is organised into three parts, a construction guide, a description of the monitor commands and the extra supplied FLEX software and a description of the user callable monitor subroutines and the graphics package. Please check that you have all the parts in this kit. You should have :- 1.. PCB 2.. 2764 EPROM marked MON09 Ver 4.2 3.. 5 1/4 inch floppy disc. 4.. This documentation If any of these parts have been damaged in transit, please get in contact immediately. Before you start on the construction of your Microbox ][ computer, please read the documentation all of the way through. If you feel that the construction is outside your experience, then just return the kit and your money will be refunded by return of post. It is recommended that data sheets are obtained for all of the IC's in the Microbox ][. This will help if any problems arise during construction. PAGE 1.1 Microbox ][ User Notes Section 1 Introduction ERATA There are a number of small corrections on the pcb. Please phone D.A.Rumball for the latest details before constucting your board. If you have any questions or (constructive) criticism please write to D.A.Rumball 22, Chalkdell path, Hitchin, Herts. SG5 2LG Or in dire emergency phone 0462-58965 after 7:30pm PAGE 1.2 PAGE 2.0 Microbox ][ User Notes Section 2 Construction guide Section 2 Construction notes. --------- ------------------ 2.1 Introduction These notes are provided as a guide to the construction of the main pcb. They are suggestions only, and can be ignored if you wish. Tools required :- Small soldering iron with 1mm bit and fine gauge multicore solder Solder sucker or desoldering braid. Screwdrivers, sidecutters, long nose pliers. Magnifying glass, sharp knife. Multimeter Oscilliscope (optional). 2.2 Construction 1) Start by examining the pcb against a strong light source. look for shorted or broken traces. Shorts may be cleared with a knife, broken traces may be repaired by overlaying the crack with a fine piece of wire. 2) Check that the sockets, connectors and the larger components fit. If necessary enlarge the holes with a drill bit. If any feedthroughs from the top of the board to the bottom are broken, make a note to solder on both sides of the board at that point. 3) Fit the IC sockets. This is best done in a single operation. First place the sockets in position, then place a piece of cardboard over the top of the sockets and turn the board over, checking that all of the sockets are bedded down. Now solder two opposing corner pins on each socket, and again check that all of the sockets are in the correct position and against the board. Now solder all of the remaining pins on each socket. After this operation check that there are no open or shorted connections. DO NOT insert any IC's at this stage. 4) Now insert the discrete resistors, capacitors, diodes and transistors etc (noting the polarity of the diodes and electrolytic capacitors) but not the crystals or the battery. 5) Finally insert the rest of the plugs and sockets etc (but still not the battery). 2.3 Testing At this point it is best to leave the construction of the board for a while, preferably overnight. This way there is more of a chance of spotting any mistakes. Now comes the tedious bit, checking the board! Firstly check that there are no open or shorted solder joints, and that all the components and sockets are inserted in the correct place, and with the correct orientation. Now check the address and data busses for continuity and shorts with a multimeter. Check the following busses :- a) The CPU-SAM-EPROM address lines. b) The CPU-EPROM-BUFFER data lines. c) The peripheral data and address lines. d) The CPU ram address lines. e) The GDC ram address lines. Time spent at this stage checking the board will save a lot of trouble at a later stage. Now remove any IC's on the board (you couldn't wait, could you!) and apply power to the +5v rail. Check that the +5v appears in all PAGE 2.1 Microbox ][ User Notes Section 2 Construction guide of the correct places (and nowhere else) and that the 0v connections are correct. Check also the + and - 12v rails. Now insert the IC's (note that some of them have differing orientations). Connect the power supply (+5v @ 3A, +&- 12v @ 100mA), a video monitor and keyboard then check that all of the configuration switches are off. The big moment! - apply power to the board! If all is well (ie no smoke or bangs) the screen will clear, and the header and prompt (=>) will appear. If this does not happen, then read the debugging notes in section 1.5. 2.4 More testing Check that typing at the keyboard plots the correct characters on the screen. If all is well use the TM command to test the ram between 0000-DE00, and whilst this test is in progress, tap the board and gently press the IC's to show up any bad solder joints. Now test the other monitor commands. Install the real time clock battery, remembering that it is probably fully charged on arrival, so unplug the soldering iron so as not to short the battery. When the battery is installed momentarily short C9 to ensure that the monitor will load the default parameter set into the RTC ram. The floppy drives should now be connected (don't forget to set the option links on the drives for head load with MOTOR ON and the DRIVE SELECTS) and the drive stepping rate switch set on the board (off = 6ms on = 30ms). Use the TS command to test the drive for selection and stepping, then format a blank disc using the DF command and test the drives again, this time using the TD command. Now test the drives for writing and reading sectors using the WS and RS commands until you are convinced that everything is ok. Now for big moment number two. Insert the FLEX system disc into logical drive 0 and type BO. FLEX should now boot, and you should see the +++ prompt (note that you will not be asked for the date). Now use build to generate a STARTUP.TXT file something like TIME:ASN:ECHO It works! and append ASNFIX.BIN to your ASN.CMD and TTYFIX.BIN to TTYSET.CMD. Finally use SETTIME to set the time and date and EXEC STARTUP.TXT. This completes the initial testing of your Microbox ][, so make yourself a nice cup of tea (or whatever), sit down with your feet up, type DEMO and watch the pretty pictures! 2.5 Debugging It is difficult to suggest what is wrong with a system without knowing the exact symptoms, but here are some things that could be checked for a start:- 1) Are the configuration switches set correctly? 2) Is the 16Mhz clock being generated? 3) Are E & Q getting to the processor? 4) Are there any spurious interrupts? 5) Is the monitor eprom getting the correct signals? 6) Do any address or data lines seem shorted? 7) Is the 64k ram getting the correct signals? If the processor is in a stable loop checking the input device, but there is no flashing cursor, check that the GDC ram RAS, CAS, and WE are all ok, and that a video signal is being clocked out of the shift registers. PAGE 2.2 Microbox ][ User Notes Section 2 Construction guide If all this fails, then phone 0462-58965 after 7-30pm. PAGE 2.3 PAGE 3.0 Microbox ][ User Notes Section 3 Setting up Section 3 Setting up --------------------- 3.1 General to set up the computer, connect a power supply of 1.5A @5v and 100mA @+-12v, a 75ohm video monitor to the bnc socket (or a TTL monitor to the four pin plug next to the bnc socket), either a parralell keyboard to the keyboard socket, or an RS-232 terminal to serial port 0 (9600 baud, 8 bits, 2 stop bits, no parity), and at floppy drives (if used) to the floppy interface connector. Then check the four on board configuration switches are off (or the first two are on for a serial terminal) and power up. The screen should clear, and the MON09 header and prompt (=>) should appear together with a flashing cursor. Assuming that the RTC contents are ok, FLEX may now be booted with the BO command. To return to the monitor from FLEX use the MON command, and to return to FLEX again use the JF command (Jump to Flex). Pressing the reset button at any time will return control to the monitor program. 3.2 The configuration switches There are four switches mounted on the pcb close to the 6821 PIA. Switch zero is closest to the RTC battery. Switch 0 Sets the initial input port to be used after reset. on = PORT 1 (serial port 0) off = PORT 0 (keyboard) Switch 2 Sets the initial output port to be used after reset. on = PORT 1 (serial port 0) off = PORT 0 (GDC screen) Switch 2 Sets the floppy disc stepping rate. on = 30ms stepping rate (for full height drives) off = 6ms stepping rate (for half height drives) Switch 4 Sets the auto boot function. on = Auto boot FLEX on reset off = Monitor program on reset PAGE 3.1 PAGE 4.0 Microbox ][ User Notes Section 4 Monitor commands Section 4 MON09 commands --------- -------------- There are twenty-seven monitor commands, each represented by a two letter name. Typing the two letters will invoke that command, which will then prompt for any necessary parameters. There are four types of parameters :- Four digit hex number................XXXX Two digit hex number...................YY One digit hex number....................Z Text string or character................T All commands are uppercase only. The first three commands are concerned with examining and modifying memory. They have a common control format, so that a CR will examine the next location or page, a '-' will examine the previous location or page, and any other character will exit the command. Command: AD Ascii Dump Format: Ascii dump of memory from XXXX Action: Displays a 1024 byte sectiom of memory as ascii characters. Any non-printable character will be represented by a '.'. Command: HD Hex Dump Format: Hex dump of memory from XXXX Action: Displays a 256 byte block of memory as two digit hex values. Command: ME Memory Examine and alter Format: Memory examine and alter from XXXX Action: Displays an address and the contents of that address. The contents may be changed by typing a space followed by the new two digit value. A verify is performed on the location changed. Command: PM Poke Memory Format: Poke memory location at XXXX value YY Action: Deposits the data into the location without verifying or reading the next address. Used for testing memory mapped peripheral devices where a read would corrupt data. Command: FM Fill Memory with constant Format: Fill memory with constant from XXXX to XXXX value YY Action: Fills the indicated memory range with the data. No verification Command: SM Shift Memory Format: Shift memory from XXXX to XXXX length XXXX Action: Shifts the block of memory indicated. Command: LK Load text from Keyboard Format: Load memory with text from keyboard to XXXX value T...T (EOT) Action: Loads text from the input device directly to memory. To end the input type an EOT (hex 04 or control D). This command generates text suitable for use in the PDATA1 and PSTRNG routines. PAGE 4.1 Microbox ][ User Notes Section 4 Monitor commands Command: FI FInd hex string Format: Find byte string from XXXX to XXXX Byte string YY YY YY YY(CR) Action: Finds and displays all occurrences of the given string of hex bytes within the range indicated. The next five commands are concerned with running programs directly from MON09. A SWI instruction (hex 3F) may be used to return control to MON09 from a program. This will cause an automatic display of registers. The register values may be modified using the ME command. The register values are stored in the 10 bytes below the location pointed to by the stack pointer S. Command: DR Display Registers Format: Display registers Action: Displays the current program register set. Command: RP Run Program Format: Run program from XXXX Action: Loads processor registers, then jumps to program starting at address given. Command: CP Continue Program Format: Continue program after SWI.... Action: Continues execution of a program from a SWI instruction. Command: JU JUmp to program Format: Jump to program at XXXX Action: Execute a program starting at the given address without loading the registers first. Command: JF Jump to Flex warm start Format: Jump to flex warm start..... Action: Jumps to address $CD03 The monitor input/output may come independently from one of three sources :- PORT NUMBER INPUT OUTPUT 0 Keyboard GDC screen 1 serial port 0 Serial port 0 2 serial port 1 Serial port 1 The initial ports are set on reset by the configuration switches. Command: SI Set Input port Format: Set input port to Z Action: Sets the active input port Command: SO Set output port Format: Set output port to Z Action: Sets the active output port. Command: SB Set Baud rate Format: Set baud rate for serial port Z rate = YY Action: Sets the baud rate for the indicated port, note that the baud rates are stored in the RTC ram, so will not need reseting after power down. Seven commands are for disk control and testing. Note that any PAGE 4.2 Microbox ][ User Notes Section 4 Monitor commands errors reported will be a copy of the disc controller status register. Command: DF Disc Format to FLEX standard Format: Disc format on drive Z Scratch disc in drive? T Action: Formats a disc to single sided, single density, fourty track FLEX standard (390 sectors free). Note that the date is not set, nor are the sectors tested. Command: TS Test drive Stepping Format: Test stepping on drive Z Hit any key to stop Action: Selects and steps drive between track 00 and track 39 and back again. Command: TD Test floppy Drive Format: Random sector read on drive Z Action: Reads random sectors on the drive. Note that double density disks will give false errors now and again. Command: RS Read Sector Format: Read sector on drive Z track YY sector YY to XXXX Action: Reads a 256 byte sector from the logical drive to memory. Command: WS Write sector Format: Write sector to drive Z track YY sector YY from XXXX Action: Writes a sector from memory to the drive. Command: BO BOot FLEX Format: Booting flex..... Action: Boot's FLEX from logical drive 0 by firstly looking in the directory for either FLEX.SYS or FLEX.COR, if found it will load the file, append the console and disk jump tables, disable the date PROMPT, and set the TTYSET and ASN parameters before jumping to the FLEX cold start point. Note that is not necessary to configure and link a version of FLEX for the Microbox ][, any copy of FLEX regardless of the machine it was designed to run on may be used. FLEX is not supplied with the Microbox ][. BO will work on single or double density, 40 or 80 track disks. Commands: BF Boot from Floppy Format: Booting FLEX....... Action: Boots FLEX as above, but from the drive TYPE 0 rather than logical type zero (ie from floppy 0). The last four commands are concerned with testing memory, calculating branch displacements and the real time clock. Command: TM Test Memory Format: Test memory from XXXX to XXXX Action: Tests memory in the range given. Any data in the memory will be overwritten. Command: CD Calculate Displacement Format: Calculate displacement form XXXX to XXXX Long or short (L-S)? T Action: Calculates the two's complement displacement for branch instructions. the result is in the form of a four digit number. For PAGE 4.3 Microbox ][ User Notes Section 4 Monitor commands short branches, the first two digits should be ignored. Command: DC Display RTC contents Format: Display clock contents Action: Displays the RTC ram in the following way :- xx xx xx xx xx xx xx xx xx xx xx xx xx xx Clock + calendar xx Not used but reserved xx Serial port baud rates xx xx xx xx Logical/physical drive mapping (0123) xx xx xx xx xx xx xx xx xx xx xx TTYSET parameters xx xx ASN PARAMETERS xx xx xx xx xx xx xx xx GDC init parameters xx xx xx xx xx xx xx Not used but reserved xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx Not used Command: MC Modify RTC Format: RTC examine and alter from YY Action: Examine and modify RTC ram contents in the same way as ME. PAGE 4.4 PAGE 5.0 Microbox ][ User Notes Section 5 Flex commands Section 5 Flex commands and software ------------------------------------- 5.1 Introduction This section deals explains the software on the floppy disc. This software consists of extra commands and data to add to the standard FLEX set of commands in order to use the hardware features of the Microbox ][. RAMDISK.CMD This command formats the ramdisk (drive type 3). It will format the ram in one of three ways, (see memory maps) :- 1) If text screen and graphics screen are in use the 170 sectors will be free. 2) If only the text screen is in use then 390 sectors will be free. Note that this represents the same format as a single density single sided 40 track floppy, so sector copy programs may be used with this format (SCOPY) 3) If neither screens are in use then 500 sectors will be free. The program checks first to see if the ramdisk is already formatted first. BB.TXT & PROMDISK.TXT These two EXEC command files will build a promdisk. BB copies the commands from floppy to ramdisk, and PROMDISK does the actual programming. Atypical command sequence would be :- EXEC BB:EXEC PROMDISK PROMCOPY.CMD This command copies 64 sectors starting at the track/sector given from the ramdisk into the prom programming area (0000-3FFF hex). ie PROMCOPY 0001 will copy the first 64 sectors. PROMPROG.CMD This command will program either 2764 or 27128 eproms. The data to be placed in the eprom should be in the area 0000-3FFF hex before this command is issued. The eprom is placed in position zero on the promboard. PROMREAD.CMD This program will copy the contents of a 2764/128 eprom into the programming area. TIME.CMD This program gives the date/time from the RTC. It also updates the FLEX date registers, and so should be included in your startup file. SETTIME.CMD This program sets the RTC time and date. ALLOCATE.CMD In the Microbox ][ there is no fixed relationship between the logical drive numbers of FLEX and the physical drives. The allocate command sets up this mapping. Just typing allocate without any PAGE 5.1 Microbox ][ User Notes Section 5 Flex commands parameters will give the current mapping. Typing allocate followed by a space and then four characters from the list :- 0.....Drive type 0 is floppy 0 1.....Drive type 1 is floppy 1 2.....Drive type 2 is the epromdisk 3.....Drive type 3 is the ramdisk If a logical drive is not to be allocated then a '.' should be used. ie ALLOCATE 0123 would assign FLEX drive zero to floppy zero, drive 1 to floppy one, the promdisk to drive two and the ramdisk to drive three. ALLOCATE 20.3 would assign the promdisk to drive zero. floppy drive zero to drive one, nothing to drive two, and the ramdisk to drive 3. An extreme case would be :- ALLOCATE 3333 This has assigned the ramdisk to all four FLEX logical drives! If the RTC ram should fail then the default allocation is (01..). ASNFIX.BIN &TTYFIX.BIN These two files should be appended to your standard ASN.CMD and TTYSET.CMD commands so that they will update the parameters stored in the RTC. In this way the TTYSET and ASN parameters will be set automatically when booting FLEX and will remain set even after power down. To append these files use the following commands :- RENAME TTYSET.CMD TTYSET.BIN RENAME ASN.CMD ASN.BIN APPEND TTYFIX.BIN TTYSET.BIN TTYSET.CMD APPEND ASNFIX.BIN ASN.BIN ASN.CMD NEWDISK.CMD This program is the standard FLEX newdisk program. Note that it will format single or double density disks. FLEXLINK.TXT & MONLINK.TXT These files contain all of the FLEX and MON09 equates rmb's and jump table entries for use in your own programs. To use them in a program use the LIB psuedo op :- OPT NOL SWITCH OFF LISTING LIB FLEXLINK LINK IN FLEXLINK AND MONLINK OPT LIS SWITCH ON LISTING * ORG $C100 ORIGIN IS FLEX TPA * START JSR [CLEARG] JUST CLEAR THE GRAPHICS SCREEN JMP FWARM AND RETURN TO FLEX * END START TRANSFER ADDRESS IS START Note that the monitor subroutine call is done by an indirect JSR. The source of flexlink and monlink is presented in annex 7. DENSE.CMD This program changes the screen format from 108 cols x 24 lines, to 128 cols by 72 lines. This is ideal for spreadsheet programs etc. UNLINK.CMD This program will return the screen format to normal after DENSE. PAGE 5.2 Microbox ][ User Notes Section 5 Flex commands PRINT.SYS This is the printer driver for the parallel port. SPRINT.SYS This is the printer driver for a printer using serial port 1. SCOPY.CMD This is a fast disk copy program that will work for any two like sized disks. SDC.CMD This is a single disk copy program. Up to five files map be copied in one go. ie SDC fred.txt bert.bin thing.out george.bak widgit.bas STYIO.TXT & STY-MB2.TXT These two files are the drivers to adapt the word processing program STYLOGRAPH to the Microbox ][. To adapt the program follow the procedure laid out in the STYLOGRAPH manual. DEMO.CMD This is a graphics demo for the Microbox ][. TEXT.CMD This program sets the display to the text screen. GRAPH.CMD This program sets the display to the graphics screen. CLEARG.CMD This command clears the graphics screen. The ramdisk will be deallocated by this command. RECORD.CMD This program will accept bytes from serial port 1 and store them into memory. The program assumes that the graphics display code of annex 8 is being used. INTERP.CMD This program will decode the graphics display code in memory (starting from 0000), and display the commands and parameters on the text output device. PLAY.CMD This program will display the graphics images generated by the graphics display code in memory. GRAPHICS.MAC This is the graphics display code macro set. (see appendix 8 for more details) CHARS.TXT This is the source code of the default character set. This may be used as a guide to create your own character set. Note that the characters are defined on a 5x8 matrix, and are stored sideways to conserve storage space. PAGE 5.3 Microbox ][ User Notes Section 5 Flex commands PAGE 5.4 PAGE 6.0 Microbox ][ User Notes Section 6 Programming guide Section 6 Programming guide ---------------------------- 6.1 Introduction This section documents all of the user callable subroutines in MON09 including the graphics package. To use these routines in your program insert a LIB flexlink directive at the beginning, and the use an indirect jump to subroutine whenever a routine is used. ie opt nol lib flexlink opt lis . . ldx #100 ldy #354 jsr [LINE] . . etc etc 6.2 monitor routines STATUS * Status routine. * Entry: no parameters. * Exit: (Z)=0 if character ready. INCH1 * Input character with no echo and input. * Entry: no parameters. * Exit: (A) = character. INCH * Input character with echo INCH * Entry: no parameters * Exit: (A) = character. OUTCH * Output char. * Entry: (A) = character. * Exit: no change. READ * Read sector routine. * Entry: (X) = address where sector is to be placed. * (A) = Track number. * (B) = Sector number. * Exit: (B) = Error code (z)=1 if no error. WRITE * Write track routine. * Entry: (X) = Address of area of memory from which the data will be taken. * (A) = Track number. * (B) = Sector number. * Exit: (B) = Error condition, (Z)=1 no an error. VERIFY PAGE 6.1 Microbox ][ User Notes Section 6 Programming guide * Verify sector routine. * Entry: no parameters. * Exit: (B) = Error condition (Z)=1 if no error. RST * Restore drive to track 00. * Entry: (X) = FCB address (3,X contains drive number). * Exit: (B) = Error condition, (Z)=1 if no error. DRV * Select current drive. * Entry: (X) = FCB address (3,X contains drive number). * Exit: (B) = Error condition, (Z)=0 and (c)=1 if error. * (B) = $0F if non existent drive. CHKRDY * Check for drive ready. * Entry: (X) = FCB address (3,X contains drive number)> * Exit: (B) = Error condition, (Z)=0 AND (C)=1 if drive is not ready. QUICK * Quick drive ready check. * Entry: (X) = FCB address (3,X contains drive number). * Exit: (B) = Error condition, (Z)=0 AND (c)=1 if drive not ready. DINIT * Init (cold start). * Entry: no parameters. * Exit: no change. WARM * Warm start. * Entry: no parameters. * Exit: no change. SEEK * Seek track. * Entry: (A) = Track number. * (B) = Sector number. * Exit: (B) = Error condition, (Z)=1 if no error. PCRLF * Print a CR followed by a LF. * Entry: no parameters. * Exit: (A) destroyed. PDATA1 * Print character string . * Entry: (X) = Pointer to character string. * Exit: (X) = Pointer to end of string token Hex(04). * (A) Destroyed. PSTRNG * Print character string preceded by a CR,LF. * Entry: (X) = Pointer to character string. * Exit: (X) = Pointer to end of string token Hex(04). * (A) = Destroyed. PAGE 6.2 Microbox ][ User Notes Section 6 Programming guide PRINTA * Print the A reg. * Entry : (A) = Data to be printed. PRINTX * Print the X reg. * Entry : (X) = Data to be printed. DELAY * Delay routine. * Entry: (X) = Delay time in milli seconds. * Exit: no change. BADDR * Build a four hex digit address. * Entry: no parameters. * Exit: (X) = Address. * (A) = Destroyed. * (B) = Destroyed. BYTE * Get a two digit hex byte. * Entry: no parameters. * Exit: (A) = Byte. OUTHL * Print left hex digit. * Entry: (A) = Byte containing digit. * Exit: (A) = Byte containing shifted digit. OUTHR * Output right hex digit. * Entry: (A) = Byte containing digit. * Exit: (A) = Ascii coded digit. INHEX * Input a valid hex character (If not hex then backspace). * Entry: no parameters. * Exit: (A) = Valid hex char. OUT2H OUT2HA OUT4HS OUT2HS * Hex print routines. * Entry: (X) = Pointer to a one or two byte hex number. * Exit: (A) = Destroyed. OUTS * Output a space. * Entry: no parameters. * Exit (A) = Destroyed. RANDOM * Random number generator. * Entry: no parameters. * Exit: (A) = Random number from 0 to 255. PAGE 6.3 Microbox ][ User Notes Section 6 Programming guide GETTIM * Get time string. * Entry : (X) points to ten byte data area. * Exit : Date and time placed in data area. GETRTC * Get a byte from the RTC. * Entry : (B) = RTC address. * Exit : (A) = Data. PUTTIM * Put time string. * Entry : (X) = Pointer to ten byte data area. PUTRTC * Send a byte to the RTC. * Entry : (B) = RTC address (A) = Data BLEEP * Beep for 100ms. 6.3 Graphics routines GCOM * Send GDC command. * Entry: (A) = GDC command * Exit: No change. GPRM * Send GDC parameter. * Entry: (A) = GDC parameter * Exit: No change. GPRMI * Get a parameter from GDC. * Entry: No parameters. * Exit: (A) = Parameter byte MASK * Set mask. * Entry: (X) = Mask value * Exit: No change. SETPEN * Define line profile and 'pen' type. * Entry: (A) = Pen type (0=replace 1=complement 2=reset 3=set) * (X) = Line profile * Exit: No change. SETPAT * Set up graphics pattern in parameter ram. * Entry: (X) = Pointer to eight byte pattern * Exit: No change. FIGSF * Start figure drawing using parameter set in ram. * Entry: (B) = Number of parameter bytes. PAGE 6.4 Microbox ][ User Notes Section 6 Programming guide * Exit: No change. FIGSG * Start graphics drawing using parameter set in ram. * Entry: (B) = Number of parameter bytes. * Exit: No change SETPAR * Set up display partitions in GDC. * Entry: (X) = Start address of partition 1 * (D) = Start address of partition 2 * (Y) = Number of lines in partition 1 * (U) = Number of lines in partition 2 * Exit: No change. SYNC * Wait until vertical blanking period. * Entry: No parameters. * Exit: No change. SETCRG * Set graphics cursor. * Entry: (X) = x coord (0<=x<=767) * (Y) = y coord (0<=y<=575) * Exit: No change. GETCRG * Read graphics cursor. * Entry: No parameters. * Exit: (X) = x coord of cursor * (Y) = y coord of cursor OFF * Switch off display. * Entry: No parameters. * Exit: No change. ON * Switch on display. * Entry: No parameters. * Exit: No change. GRAPH * Set display to graphics. * Entry: No parameters. * Exit: No change. MODE * Set GDC mode. * Entry: (A) = New mode byte * (B) = Read flag * Exit: If (B) <> 0 then (A) = New mode byte * If (B) = 0 then (A) = OLD mode byte ZOOM * Set graphics zoom. * Entry: (A) = New zoom byte * (B) = Read flag PAGE 6.5 Microbox ][ User Notes Section 6 Programming guide * Exit: If (B) <> 0 then (A) = New zoom byte * If (B) = 0 then (A) = OLD zoom byte FILL * Area fill. * Entry: (A) = Initial drawing direction * (X) = Number of pixels in the initial direction * (Y) = Number of pixels in the perpendicular direction * Exit: No change. CLEARG * Clear graphics screen. * Entry: No parameters. * Exit: No change. CLEARX * Clear gdc ram from current cursor. * Entry: (A) = Drawing mode (0=replace 1=complement 2=reset 3=set) * (X) = Number of words to be cleared * Exit: No change GDCINIT * Init display. * Entry: No parameters. * Exit: No change. POINT * Plot a point at the current cursor postion. * Entry: No parameters. * Exit: No change. LINE * Plot a line from the current cursor postion. * Entry: (X) = x coord * (Y) = * Entry: coord * Exit: No change. RECT * Plot a rectangle. * Entry: (A) = Intial drawing direction * (X) = Length of side in the initial direction * (Y) = Length of side in th perpendicular direction * Exit: No change. CIRCLE * Plot a circle at the current cursor location. * Entry: (A) = radius of circle (0